#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
#define rep(i, a, b) for (int i = (a); i <= (b); i++)
#define per(i, a, b) for (int i = (a); i >= (b); i--)
#define endl '\n'
const int N = 20;

int n, m;
double a[N][N];
double dp[1 << 18];
void solve() {
  cin >> n;
  rep(i, 0, n - 1) rep(j, 0, n - 1) cin >> a[i][j];
  int mx = (1 << n) - 1;
  dp[mx] = 1.0;
  per(s, mx, 1) {
    // transfer from i to j
    int cnt = __builtin_popcount(s);
    if (cnt == 1) continue;
    double p = 2.0 / cnt / (cnt - 1);
    rep(i, 0, n - 1) {
      if (s & (1 << i)) {
        int t = s ^ (1 << i);
        rep(j, 0, n - 1) {
          if (s & (1 << j)) {
            dp[t] += dp[s] * p * a[j][i];
          }
        }
      }
    }
  }
  rep(i, 0, n - 1) cout << fixed << setprecision(6) << dp[1 << i] << ' ';
  return;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int t;
  t = 1;
  while (t--) solve();
  return 0;
}